package com.java;

import java.util.concurrent.TimeUnit;

/**
 * 业务：一个商品假如他有性别属性，那这个属性的类型我们如何设计？
 * 可以基于枚举类型定义一些固定的值（例如一周7天，一年四个季度）
 * 1)Male
 * 2)Female
 * 3)None
 * 为了更好的限定JAVA中变量的取值类型，在JDK1.5推出了一种枚举类型
 */
enum Sex{//一个特殊的类，默认会继承Java中的Enum类
    MALE{
        @Override
        public void doMethod() {
            System.out.println("Male");
        }
    },FEMALE,NONE;//对象实例，类加载时创建
    private Sex(){}//构造方法只能是私有
    private Sex(String name){}
    public void doMethod(){
        System.out.println("hello");
    }
}
class Product{
    Sex gender=Sex.NONE;
}


public class EnumTests {
    public static void main(String[] args) throws InterruptedException {
        //TimeUnit.SECONDS.sleep(5);
        Sex.MALE.doMethod();
        Sex.FEMALE.doMethod();
    }
}
